package com.ffapp.demo.util;

import com.amap.api.maps.AMapUtils;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.VisibleRegion;

import java.util.List;

public class MarkerUtils {

    /**
     * func:设置地图上所有marker是否显示
     */
    public static void markVisible(float zoom, List<Marker> markerList) {
        //获取地图上所有的建筑物marker设置是否显示
        for (int i = 0; i < markerList.size(); i++) {
            Marker marker = markerList.get(i);
            if (zoom < 14) {
                marker.setVisible(false);
            } else {
                marker.setVisible(true);
            }
        }
    }

    /**
     * 对移动地图结束事件回调
     */
    public static boolean mapContainLatlng(VisibleRegion visibleRegion, List<Marker> allMarkerList, LatLng warnLatlng) {
//        VisibleRegion visibleRegion = aMap.getProjection().getVisibleRegion(); // 获取可视区域、
        LatLngBounds latLngBounds = visibleRegion.latLngBounds;// 获取可视区域的Bounds

        for (Marker marker : allMarkerList) {
            float distance = AMapUtils.calculateLineDistance(warnLatlng, marker.getPosition());
            if (distance <= 500) {
                marker.setVisible(true);
            }
        }

//        boolean isContain = latLngBounds.contains(latLng);// 判断上海经纬度是否包括在当前地图可见区域
//        if (isContain) {
//            return true;
////            ToastUtil.show(EventsActivity.this, "上海市在地图当前可见区域内");
//        } else {
////            ToastUtil.show(EventsActivity.this, "上海市超出地图当前可见区域");
//            return false;
//        }
        return true;
    }
}

